﻿
namespace Business.Entity.Contabil.Pessoa.ClassesRelacionadas.Endereco
{
    /// <summary>
    /// Classe repositório da classe "Endereco"
    /// </summary>
    public class EnderecoRepository : RepositoryBase<Endereco>
    {
        /// <summary>
        /// Método que consulta uma cidade com base no seu CEP.
        /// </summary>
        /// <param name="cep">Cep da cidade.</param>
        /// <returns>Retorna o endereço de acordo com o CEP. Retorna null se não for 
        /// encontrado nenhum registro ou se não for informado o CEP ou ainda
        /// se CEP não corresponder ao padrão esperado.</returns>
        public static Endereco GetByCep(string cep)
        {

            //return GetSession().CreateCriteria<Endereco>().Add(Restrictions.Like("Cep", value: "%" + cep + "%")).UniqueResult<Endereco>();
            var endereco = GetSession().QueryOver<Endereco>()
                .Where(endereco1 => endereco1.Cep == cep)
                .SingleOrDefault();
            return endereco;

        }
    }
}
